1. Field of the Invention
The present invention generally relates to providing a method of drawing graphic primitives on the display of graphics workstation computer and, more particularly, to an accelerated interface between the workstation processor and hardware adapters which provides a significant performance improvement when accessing different memory locations on a hardware adapter attached to the processor, by eliminating the need to synchronize the processor between memory accesses.
2. Description of the Prior Art
Computer graphics systems are widely used in business, science and technology. One of the more important applications of computer graphics systems is computer aided drafting and design (CAD) used to design mechanical, electrical, electro-mechanical and electronic devices. Typically, the design process involves an interactive computer model of the component or system being designed. A particular limitation on computer graphics systems has been the speed at which graphics primitives are drawn on the display screen. With the advent of the very high speed microprocessors now available for computer workstations, real time drawing and redrawing of the computer display is now possible.
To draw a graphics primitive on the screen, it is often necessary to write the coordinates to a coordinate address register in the hardware rasterizer of the display adapter, and then read the adapter status from a status address to begin the rendering. On some high performance reduced instruction set computer (RISC) microprocessors, accesses to different addresses are not guaranteed to occur in any particular order due to the pipeline architecture of these processors. Thus, the status read may actually occur before the coordinates are written, producing unpredictable results. To prevent this, these RISC microprocessors provide an assembler instruction to synchronize the central processing unit's (CPU's) multiple dispatch capabilities and the cache-inhibited memory-mapped input/output (I/O), including the reads and writes to the display adapter. Thus, to guarantee that the coordinates are written before the status is read, the software must write the coordinates to the display adapter rasterizer, synchronize the machine, and then read the adapter status. Because the hardware can handle a million primitives per second, the software must then synchronize the machine a million times per second, which adds a severe performance penalty.